﻿/*

整数次幂取模 
Time Limit:1000MS  Memory Limit:32768K


Description:
给定一个数，其值用A的B次方表示(B<100000)，求该数除以一个整数C（<100000）所得的余数。
注意算法的合理性，其性能有一定的要求。每行有三个数，依次表示A，B，C，每行对输出对应的余数。 

Sample Input:
1 2 3
2 1 3
3 3 5
Sample Output:
1
2
2
*/
#include <stdio.h>

/*
int main()
{
	int a, b, c;
	while (EOF != scanf("%d%d%d", &a, &b, &c))
	{
		int rem = 1;
		while (b--)
		{
			rem *= a;
			rem %= c;
		}
		printf("%d\n", rem);
	}

	return 0;
}
*/
int main()
{
	for (int a, b, c; EOF != scanf("%d%d%d", &a, &b, &c);)
	{
		unsigned temp = a%c;
		unsigned rem =1u;
		while (b--)
		{
			rem=(rem*temp)%c;
		}
		printf("%u\n", rem%c);
	}
	
	return 0;
}